Systems and methods for generating and querying an index associated with targeted communications

ABSTRACT

This disclosure is directed to systems and methods for selecting or eliminating candidate targeted communications. A method may include receiving candidate identifiers and traits associated with the candidate identifiers. A method may further include generating a candidate index including one or more dimensions associated with candidate traits. A method may further include intersecting the dimensions to determine if one or more candidates appear in dimensions associated with the desired candidate traits. A method may further include generating a result set based on the results of the intersecting computation. A method may further include selecting or eliminating candidates based on the results of the intersecting computation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This U.S. application is a continuation of and claims priority to U.S.patent application Ser. No. 17/010,745, filed on Sep. 2, 2020, which isincorporated by reference herein in its entirety for all purposes.

TECHNICAL FIELD

The present disclosure relates, according to some embodiments, totargeted communications and, more specifically, to providing users withtargeted communications using intersecting, multi-dimensional invertedindexes.

BACKGROUND

Targeted communications are accomplished by locating an appropriateaudience and ensuring that the targeted communication effectivelyreaches them so that sales would be increased and wasteful efforts wouldbe reduced. A more cost effective way of generating and transmittingtargeted communications than the existing approaches is desired.

SUMMARY

According to some embodiments, a method for generating and querying anindex associated with targeted communications may comprise: determiningor receiving, using one or more computing device processors, a firstcandidate identifier, a first rate of targeted communicationtransmission, and at least one trait associated with a targetedcommunication recipient, associated with a first candidate targetedcommunication; determining or receiving, using the one or more computingdevice processors, a second candidate identifier, a second rate oftargeted communication transmission, and at least one trait associatedwith a targeted communication recipient, associated with a secondcandidate targeted communication; determining or receiving, using theone or more computing device processors, a third candidate identifier, athird rate of targeted communication transmission, and at least onetrait associated with a targeted communication recipient, associatedwith a third candidate targeted communication; generating or accessing,using the one or more computing device processors, a candidate indexcomprising: a first dimension, comprising a first dimension traitassociated with the first candidate targeted communication, a firstdimension trait associated with the second candidate targetedcommunication, and a first dimension trait associated with the thirdcandidate targeted communication; and a second dimension comprising asecond dimension trait associated with the first candidate targetedcommunication and a second dimension trait associated with the thirdcandidate targeted communication, wherein the second candidate targetedcommunication does not comprise a second dimension trait associated withthe second candidate targeted communication; receiving, using the one ormore computing device processors, a query from a computing device,wherein the query is associated with a first desired candidate trait,associated with the first dimension, and a second desired candidatetrait, associated with the second dimension; determining or generating,using the one or more computing device processors, an ordered first setcomprising a first indicator indicating whether the first candidatetargeted communication comprises the first desired candidate trait, asecond indicator indicating whether the second candidate targetedcommunication comprises the first desired candidate trait, and a thirdindicator indicating whether the third candidate targeted communicationcomprises the first desired candidate trait, wherein a position of thefirst indicator in the ordered first set corresponds to a position ofthe first candidate targeted communication in the candidate index,wherein a position of the second indicator in the ordered first setcorresponds to a position of the second candidate targeted communicationin the candidate index, and wherein a position of the third indicator inthe ordered first set corresponds to a position of the third candidatetargeted communication in the candidate index; determining orgenerating, using the one or more computing device processors, anordered second set comprising a fourth indicator indicating whether thefirst candidate targeted communication comprises the second desiredcandidate trait, a fifth indicator indicating whether the secondcandidate targeted communication comprises the second desired candidatetrait, and a sixth indicator indicating whether the third candidatetargeted communication comprises the second desired candidate trait;determining or generating, a using the one or more computing deviceprocessors, based on performing an intersecting computation based on theordered first set and the ordered second set, a result set comprising aseventh indicator associated with the first candidate targetedcommunication and an eighth indicator associated with the thirdcandidate targeted communication; eliminating, using the one or morecomputing device processors, the first candidate targeted communicationfrom the result set based on the first rate of targeted communicationtransmission; and selecting, using the one or more computing deviceprocessors, the third candidate targeted communication from the resultset based on the third rate of targeted communication transmission.

According to some embodiments, a position of the fourth indicator in theordered second set corresponds to the position of the first candidatetargeted communication in the candidate index, wherein a position of thefifth indicator in the ordered second set corresponds to the position ofthe second candidate targeted communication in the candidate index, andwherein a position of the sixth indicator in the ordered second setcorresponds to the position of the third candidate targetedcommunication in the candidate index.

According to some embodiments, the method further comprisestransmitting, using the one or more computing device processors, thethird candidate targeted communication to a user device for display onthe user device.

According to some embodiments, in response to determining the secondcandidate targeted communication does not comprise the second dimensiontrait, the second candidate targeted communication is included in analways-matching set for the second dimension such that one or morecandidate targeted communications from the always-matching set arealways included in the ordered second set.

According to some embodiments, in response to determining the secondcandidate targeted communication does not comprise the second dimensiontrait, the fifth indicator indicates the second candidate targetedcommunication comprises all second dimension traits.

According to some embodiments, the ordered first set comprisesnon-binary indicators.

According to some embodiments, the candidate index comprises a candidatearray.

According to some embodiments, the ordered first set comprises binaryindicators.

According to some embodiments, another method is provided for generatingand querying an index associated with targeted communications. Themethod comprises: determining or receiving, using one or more computingdevice processors, a first candidate identifier and at least one traitassociated with a targeted communication recipient, associated with afirst candidate targeted communication; determining or receiving, usingthe one or more computing device processors, a second candidateidentifier and at least one trait associated with a targetedcommunication recipient, associated with a second candidate targetedcommunication; determining or receiving, using the one or more computingdevice processors, a third candidate identifier and at least one traitassociated with a targeted communication recipient, associated with athird candidate targeted communication; generating or accessing, usingthe one or more computing device processors, a candidate indexcomprising: a first dimension, comprising a first dimension traitassociated with the first candidate targeted communication, a firstdimension trait associated with the second candidate targetedcommunication, and a first dimension trait associated with the thirdcandidate targeted communication; and a second dimension comprising asecond dimension trait associated with the first candidate targetedcommunication and a second dimension trait associated with the thirdcandidate targeted communication, wherein the second candidate targetedcommunication does not comprise a second dimension trait associated withthe second candidate targeted communication; receiving, using the one ormore computing device processors, a query from a computing device,wherein the query is associated with a first desired candidate trait,associated with the first dimension, and a second desired candidatetrait, associated with the second dimension; determining or generating,using the one or more computing device processors, an ordered first setcomprising a first indicator indicating whether the first candidatetargeted communication comprises the first desired candidate trait, asecond indicator indicating whether the second candidate targetedcommunication comprises the first desired candidate trait, and a thirdindicator indicating whether the third candidate targeted communicationcomprises the first desired candidate trait, wherein a position of thefirst indicator in the ordered first set corresponds to a position ofthe first candidate targeted communication in the candidate index,wherein a position of the second indicator in the ordered first setcorresponds to a position of the second candidate targeted communicationin the candidate index, and wherein a position of the third indicator inthe ordered first set corresponds to a position of the third candidatetargeted communication in the candidate index; determining orgenerating, using the one or more computing device processors, anordered second set comprising a fourth indicator indicating whether thefirst candidate targeted communication comprises the second desiredcandidate trait, a fifth indicator indicating whether the secondcandidate targeted communication comprises the second desired candidatetrait, and a sixth indicator indicating whether the third candidatetargeted communication comprises the second desired candidate trait;determining or generating, using the one or more computing deviceprocessors, based on performing a computation based on the ordered firstset and the ordered second set, a result set comprising a seventhindicator associated with the first candidate targeted communication andan eighth indicator associated with the third candidate targetedcommunication; and selecting, using the one or more computing deviceprocessors, the third candidate targeted communication from the resultset based on the third rate of targeted communication transmission.

According to some embodiments, a position of the fourth indicator in theordered second set corresponds to the position of the first candidatetargeted communication in the candidate index, wherein a position of thefifth indicator in the ordered second set corresponds to the position ofthe second candidate targeted communication in the candidate index, andwherein a position of the sixth indicator in the ordered second setcorresponds to the position of the third candidate targetedcommunication in the candidate index.

According to some embodiments, the method further comprisestransmitting, using the one or more computing device processors, thethird candidate targeted communication to a user device for display onthe user device.

According to some embodiments, in response to determining the secondcandidate targeted communication does not comprise the second dimensiontrait, the second candidate targeted communication is included in analways-matching set for the second dimension such that one or morecandidate targeted communications from the always-matching set arealways included in the ordered second set.

According to some embodiments, in response to determining the secondcandidate targeted communication does not comprise the second dimensiontrait, the fifth indicator indicates the second candidate targetedcommunication comprises multiple second dimension traits.

According to some embodiments, the first dimension further comprises thefirst candidate identifier.

According to some embodiments, the ordered first set is associated withthe first dimension and comprises non-binary indicators.

According to some embodiments, the ordered first set is associated withthe first dimension and comprises binary indicators.

According to some embodiments, the method further comprises determiningor receiving, using the one or more computing device processors, a firstrate of targeted communication transmission associated with the firstcandidate identifier.

According to some embodiments, the method further comprises generating,using the one or more computing device processors, a first rate tagbased on the first rate of targeted communication transmissionassociated with the first candidate identifier.

According to some embodiments, the method further comprises eliminating,using the one or more computing device processors, the first candidatetargeted communication from the result set based on the first rate tag.

According to some embodiments, a system is provided for generating andquerying an index associated with targeted communications. The systemcomprises: a memory comprising instructions; and a processing deviceconfigured for executing the server instructions, wherein theinstructions cause the processing device to perform operations of:determining or receiving a first candidate identifier, a first rate oftargeted communication transmission, and at least one trait associatedwith a targeted communication recipient, associated with a firstcandidate targeted communication; determining or receiving a secondcandidate identifier, a second rate of targeted communicationtransmission, and at least one trait associated with a targetedcommunication recipient, associated with a second candidate targetedcommunication; determining or receiving a third candidate identifier, athird rate of targeted communication transmission, and at least onetrait associated with a targeted communication recipient, associatedwith a third candidate targeted communication; generating or accessing acandidate index comprising: a first dimension, comprising a firstdimension trait associated with the first candidate targetedcommunication, a first dimension trait associated with the secondcandidate targeted communication, and a first dimension trait associatedwith the third candidate targeted communication; and a second dimensioncomprising a second dimension trait associated with the first candidatetargeted communication and a second dimension trait associated with thethird candidate targeted communication, wherein the second candidatetargeted communication does not comprise a second dimension traitassociated with the second candidate targeted communication; receiving aquery from a computing device, wherein the query is associated with afirst desired candidate trait, associated with the first dimension, anda second desired candidate trait, associated with the second dimension;determining or generating an ordered first set comprising a firstindicator indicating whether the first candidate targeted communicationcomprises the first desired candidate trait, a second indicatorindicating whether the second candidate targeted communication comprisesthe first desired candidate trait, and a third indicator indicatingwhether the third candidate targeted communication comprises the firstdesired candidate trait, wherein a position of the first indicator inthe ordered first set corresponds to a position of the first candidatetargeted communication in the candidate index, wherein a position of thesecond indicator in the ordered first set corresponds to a position ofthe second candidate targeted communication in the candidate index, andwherein a position of the third indicator in the ordered first setcorresponds to a position of the third candidate targeted communicationin the candidate index; determining or generating an ordered second setcomprising a fourth indicator indicating whether the first candidatetargeted communication comprises the second desired candidate trait, afifth indicator indicating whether the second candidate targetedcommunication comprises the second desired candidate trait, and a sixthindicator indicating whether the third candidate targeted communicationcomprises the second desired candidate trait; determining or generating,based on performing an intersecting computation based on the orderedfirst set and the ordered second set, a result set comprising a seventhindicator associated with the first candidate targeted communication andan eighth indicator associated with the third candidate targetedcommunication; eliminating the first candidate targeted communicationfrom the result set based on the first rate of targeted communicationtransmission; and selecting the third candidate targeted communicationfrom the result set based on the third rate of targeted communicationtransmission.

According to some embodiments, another method provided for generatingand querying an index associated with targeted communications maycomprise: determining or receiving, using one or more computing deviceprocessors, a first candidate identifier, a first rate of targetedcommunication transmission, and at least one trait associated with atargeted communication recipient, associated with a first candidatetargeted communication; determining or receiving, using the one or morecomputing device processors, a second candidate identifier, a secondrate of targeted communication transmission, and at least one traitassociated with a targeted communication recipient, associated with asecond candidate targeted communication; determining or receiving, usingthe one or more computing device processors, a third candidateidentifier, a third rate of targeted communication transmission, and atleast one trait associated with a targeted communication recipient,associated with a third candidate targeted communication; accessing,using the one or more computing device processors, a candidate indexcomprising: a first dimension, comprising a first dimension traitassociated with the first candidate targeted communication, and a firstdimension trait associated with the second candidate targetedcommunication, wherein the third candidate targeted communication doesnot comprise a first dimension trait associated with the third candidatetargeted communication; and a second dimension comprising a seconddimension trait associated with the first candidate targetedcommunication and a second dimension trait associated with the thirdcandidate targeted communication, wherein the second candidate targetedcommunication does not comprise a second dimension trait associated withthe second candidate targeted communication; receiving, using the one ormore computing device processors, a query from a computing device,wherein the query is associated with a first desired candidate trait,associated with the first dimension, and a second desired candidatetrait, associated with the second dimension; determining or generating,using the one or more computing device processors, a first setcomprising the first candidate targeted communication, in response todetermining the first candidate targeted communication comprises or isassociated with the first desired candidate trait, the second candidatetargeted communication, in response to determining the second candidatetargeted communication comprises or is associated with the first desiredcandidate trait, wherein the third candidate targeted communication isnot included in the first set, in response to determining the thirdcandidate targeted communication does not comprise or is not associatedwith the first desired candidate trait; determining or generating, usingthe one or more computing device processors, a second set comprising thefirst candidate targeted communication, in response to determining thefirst candidate targeted communication comprises or is associated withthe second desired candidate trait, and the third candidate targetedcommunication, in response to determining the third candidate targetedcommunication comprises or is associated with the second desiredcandidate trait, wherein the second candidate targeted communication isnot included in the second set, in response to determining the secondcandidate targeted communication does not comprise or is not associatedwith the second desired candidate trait; determining, using the one ormore computing device processors, the first candidate targetedcommunication is a common candidate targeted communication between thefirst set and the second set; and determining, using the one or morecomputing device processors, whether to send the first candidatetargeted communication to a user device based on the first rate oftargeted communication transmission.

According to some embodiments, the first set is ordered.

According to some embodiments, a position of the first indicator in thefirst set corresponds to a position of the first candidate targetedcommunication in the candidate index, and wherein a position of thesecond indicator in the ordered first set corresponds to a position ofthe second candidate targeted communication in the candidate index.

According to some embodiments, the second set is ordered.

According to some embodiments, the first set, the second set, or aresult set produced from performing an intersecting computing based onthe first set and the second set, does not comprise an always-matchingcandidate targeted communication that comprises or is associated withthe first desired candidate trait and the second desired candidatetrait.

According to some embodiments, the always-matching candidate iscomprised in an always-matching set.

According to some embodiments, the first set, the second set, or aresult set produced from performing an intersecting computing based onthe first set and the second set, comprises an always-matching candidatetargeted communication that comprises or is associated with the firstdesired candidate trait and the second desired candidate trait.

According to some embodiments, the ordered first set, the ordered secondset, or the result set does not comprise an always-matching candidatetargeted communication that comprises or is associated with the firstdesired candidate trait and the second desired candidate trait.

According to some embodiments, the always-matching candidate targetedcommunication, or a ninth indicator indicating the always-matchingcandidate targeted communication comprises or is associated with thefirst desired candidate trait and the second desired candidate trait, iscomprised in an always-matching set.

According to some embodiments, no or null data is present in a positionin the ordered first set, the ordered second set, or the result setcorresponding to the always-matching candidate targeted communication.

According to some embodiments, the ordered first set, the ordered secondset, or the result set comprises a ninth indicator indicating analways-matching candidate targeted communication comprises or isassociated with the first desired candidate trait and the second desiredcandidate trait.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a flowchart diagram that schematically represents a methodfor generating and querying an index associated with targetedcommunications according to disclosed embodiments;

FIG. 2 shows a schematic block of a system for generating targetedcommunications in accordance with disclosed embodiments;

FIG. 3 shows functional block diagram of a server for generatingtargeted communications associated with disclosed systems and methods.

FIG. 4 shows a block diagram of an index, according to some embodiments.

Although similar reference numbers may be used to refer to similarelements for convenience, it can be appreciated that each of the variousexample embodiments may be considered to be distinct variations.

The present embodiments will now be described hereinafter with referenceto the accompanying drawings, which form a part hereof, and whichillustrate example embodiments which may be practiced. As used in thedisclosures and the appended claims, the terms “embodiment” and “exampleembodiment” do not necessarily refer to a single embodiment, although itmay, and various example embodiments may be readily combined andinterchanged, without departing from the scope or spirit of the presentembodiments. Furthermore, the terminology as used herein is for thepurpose of describing example embodiments only, and are not intended tobe limitations. In this respect, as used herein, the term “in” mayinclude “in” and “on,” and the terms “a,” “an” and “the” may includesingular and plural references. Furthermore, as used herein, the term“by” may also mean “from,” depending on the context. Furthermore, asused herein, the term “if” may also mean “when” or “upon,” depending onthe context. Furthermore, as used herein, the words “and/or” may referto and encompass any and all possible combinations of one or more of theassociated listed items.

DETAILED DESCRIPTION

Targeted communications provide businesses and organizations with theability to more effectively and efficiently communicate to the potentialaudience. However, the computing resources and network bandwidthrequired for generating and transmitting targeted communications arestill pretty costly with existing technologies in the field of targetedcommunications. In the following detailed description, examples of animproved approach of generating and transmitting targeted communicationsare provided.

As shown in FIG. 1, a method for generating and querying an indexassociated with targeted communications 1000 (e.g., by usingintersecting, multi-dimensional inverted indexes) may comprisereceiving, at one or more servers, at least one trait and a rateassociated with a candidate identifier from one or more first computingdevices 1001; generating a candidate array comprising candidateidentifiers 1002; generating two or more dimensions, each dimensionbeing associated with one of the at least one traits and comprising atleast some of the candidate identifiers 1003; generating a setrepresentation for each dimension 1004; generating a rate tag based onthe rate associated with the candidate identifier 1005; generating anindex by tagging one or more candidate identifiers with thecorresponding rate tag 1006; receiving a query 1007; generating a bitset comprising suitable candidates by intersecting dimensions 1008;removing one or more suitable candidates based on the corresponding ratetag to generate a set of remaining candidates 1009; generating targetedcommunications 1010; and transmitting the targeted communications to oneor more second computing devices 1011.

Referring now to FIG. 2, a system for generating targeted communicationsusing intersecting, multi-dimensional inverted indexes 2000 may compriseone or more first computing devices 1020, one or more servers 1022, andone or more second computing devices 1024. The one or more servers maycomprise an indexing engine 1026 and a query engine 1028. The one ormore servers may, according to some embodiments, receive at least onetrait 1030 and a rate 1032 associated with a candidate identifier 1034from one or more first computing devices 1020. In some embodiments, theat least one trait 1030 and the rate 1032 associated with a candidateidentifier 1034 may be received at an indexing engine 1026. A candidateidentifier 1034 may be any identifier (e.g., alphanumeric and/orsymbolic) which may be used to identify a candidate.

A trait 1030 may comprise information about a candidate associated witha candidate identifier 1034. For example, in some embodiments, acandidate may be a client who wishes to have targeted communicationsgenerated on their behalf. In this example, the candidate may have thecandidate identifier abc123′ and may wish to have targetedcommunications generated and transmitted to women, aged 40-45, who livein Longmont, Colorado. In this example, traits associated with thecandidate identifier abc123′ may be, without limitation, ‘Sex=Female,’‘Age=40-45 years,’ and ‘Geographical Location=Longmont, Colorado.’Traits 1030 may be any characteristic or group of characteristics whichmay describe targets to which a targeted communication on behalf of acandidate may be directed. For clarity, the above examples are meant tobe illustrative only and are not meant to be limiting.

A rate 1032 may comprise the rate at which a candidate wishes to havetargeted communications generated on its behalf. In some embodiments, arate 1032 may comprise a number of targeted communications per unittime. For example, a rate 1032 may be a total number of targetedcommunications generated on behalf of a candidate per minute, per hour,per day, per week, etc. In some embodiments, a rate 1032 may comprise anumber of targeted communications generated on behalf of a candidate pertotal number of targeted communications generated for all (or aplurality of) candidates. For example, a rate 1032 may be 0.5%, 1.0%,5.0%, 10.0%, etc. of all (or a plurality of) targeted communicationsgenerated by the system. In some embodiments, targeted communicationsmay initiate allocation of an allocatable resource (“an allocatable”) inan allocatable pool. In these embodiments, a rate 1032 may comprise therate at which a candidate wishes to have an allocatable allocated fromthe total available allocatable pool by a targeted communication.

One or more servers 1022 may generate a candidate array 1036 comprisingcandidate identifiers 1034. In some embodiments, a candidate array 1036may be generated by an indexing engine 1026 comprised in the one or moreservers 1022. A candidate array 1036 may, according to some embodiments,be a bit set or a standard array. For example, a candidate array 1036may comprise candidate identifiers 1034 as described above (e.g.,‘abc123’), arranged into an array with an assigned position (e.g.,‘abc123’=2, where the candidate identifier is in the second position ofthe array). In some embodiments, all (or a plurality of) candidateidentifiers 1034 for all (or a plurality of) potential candidates arepresent in a candidate array 1036. In other embodiments, only a subsetof candidate identifiers 1034 for potential candidates are present in acandidate array 1036.

Two or more dimensions may be generated by one or more servers 1022. Insome embodiments, the two or more dimensions may be generated by anindexing engine 1026 comprised in the one or more servers. Eachdimension may be associated with one of the at least one traits 1030 andmay comprise at least some of the candidate identifiers 1034. Forexample, in some embodiments, a dimension may be associated with aparticular trait 1030, such as ‘Age.’ In some embodiments, a dimensionmay be associated with multiple traits 1030, such as ‘Sex’ and ‘Age.’ Insome embodiments, multiple traits 1030 (e.g., ‘Age’ and ‘Sex’) may beconsidered a single trait for purposes of establishing a dimension. Inthese examples, because the candidate identifier ‘abc123’ is associatedwith each of the traits ‘Age’ and ‘Sex’, the candidate identifierabc123′ would be present in the dimension or dimensions associated withthose traits. In the same example, where a hypothetical candidate withthe candidate identifier ‘def456’ is associated with the trait‘Sex=Male,’ but not associated with a specified age group, the candidateidentifier def456′ would appear in a dimension ‘Sex’, but would notappear in a dimension ‘Age.’

In some embodiments, a candidate identifier 1034 may be associated withall traits associated with a dimension. For example, a candidateidentifier abc123′ may be associated with all traits associated with adimension ‘Age’ (e.g., associated with all ages and/or age groups). Inthese embodiments, a candidate identifier 1034 may be present in adimension as either multiple entries in the dimension (e.g., present fortraits ‘Age=20-25’, ‘Age=26-30’, ‘Age=31-35’, etc.) or may be present inthe dimension as an “always matching set.” In some embodiments, an“always matching set” may comprise candidate identifiers 1034 thatproduce an indicator every time the dimension is queried.

A set representation 1038 may be generated for each dimension. In someembodiments, a set representation 1038 may be generated by one or moreservers 1022 or by an indexing engine 1026 comprised in one or moreservers 1022. A set representation 1038 may be based, at least in part,on the presence or absence of a candidate (or candidate identifier 1034)in a dimension. In some embodiments, a set representation 1038 maycomprise a list of candidate array positions which appear in thedimension. For example, where candidates (or candidate identifiers 1034)corresponding to positions 0, 2, 4, and 7 of the candidate array 1036are present in a dimension, the set representation 1038 of thatdimension may appear as ‘0247.’ In some embodiments, a setrepresentation 1038 may comprise a binary representation of candidatearray positions which appear in the dimension, where the numeral onerepresents a present candidate and a numeral zero represents an absentcandidate. For example, where candidates (or candidate identifiers 1034)corresponding to positions 0, 2, 4, and 7 of the candidate array 1036are present in a dimension, the set representation 1038 of thatdimension may appear as ‘10101001.’ The above examples are meant to beillustrative and not limiting. For purposes of clarity, a setrepresentation 1038 may take any alphanumeric form that is convenient torepresent candidates (or candidate identifiers 1034) which are presentor absent in a dimension.

A set representation may include one or more representation styles. Forexample, in an exemplary embodiment, a dimension may include a set ofcandidates targeting different geographical locations as shown below.

North South Candidate America America Africa Europe Asia AntarcticaAustralia 0 X X X X 1 X X X X X 2 X X X X X X X 3 X X 4 X X

A set representation (e.g. ordered set, unordered, set, etc.) generatedusing the dimension above may, according to some embodiments, (1)include each candidate that meets the desired trait; and/or (2) includeindications that a candidate does or does not match the desired trait(e.g., using a binary representations, etc.). For example, the abovedimension may be represented in a set representation in one of thefollowing ways illustrated below. In some embodiments, analways-matching candidate (or an indicator associated with whether thealways-matching candidate meets a desired trait) may be included in analways-matching set. In some embodiments, an always-matching candidate(or an indicator associated with whether the always-matching candidatemeets a desired trait) may be included in the set representation.

Desired traits Candidates in Set Representation style (lookup)Representation (result) ((1) or (2) from above) North America 0 (1) Setincludes candidates that match South America 0 (1) Set includescandidates that match Africa [1, 1, —, 1, 1] (2) Set includes allcandidates, with match indicated by 1, miss indicated by 0 Europe [1, 1,—, 0, 1] (2) Set includes all candidates, with match indicated by 1,miss indicated by 0 Asia 1, 2 (1) Set includes candidates that matchAntarctica 1 (1) Set includes candidates that match Australia [0, 1, —,1, 0] (2) Set includes all candidates, with match indicated by 1, missindicated by 0 Always Matching 2 (1) Set includes candidates that match

A rate tag 1040 may be generated by one or more servers 1022. In someembodiments, a rate tag 1040 may be generated by an indexing engine 1026comprised in one or more servers 1022. A rate tag 1040 may be based on arate 1032 associated with a candidate identifier 1034 and may comprise aslot number and a total number of slots in a level. In some embodiments,one or more servers 1022 (or an indexing engine 1026 comprised therein)may assign a candidate to a level based on the rate 1032 associated withthe candidate's candidate identifier 1034. For example, a candidate witha rate=0.75 may be assigned to a level=high, while a candidate with arate=0.01 may be assigned to a level=low. A number of slots comprised inlevel may, according to some embodiments, be based on the ratesassociated with the candidates comprised in that level. For example, acandidate with a higher rate 1032 (e.g., rate=0.75) may be assigned to alevel=high, which may comprise fewer slots than a lower level (e.g.,level=low) comprised of candidates with lower rates 1032 (e.g.,rate=0.01). A rate tag 1032 may be added to a candidate identifier 1034(or the equivalent of, e.g. set representation) in a dimension.Collectively, dimensions are comprised in an index 1042. In someembodiments, an index 1042 may comprise all (or a plurality of)dimensions generated for all (or a plurality of) candidates. In otherembodiments, an index 1042 may comprise at least some of the dimensionsgenerated for candidates. An index 1042 may be stored, for example, inone or more databases (or a memory unit) associated with the one or moreservers 1022.

Referring now to FIG. 4, an index 1042 (e.g., candidate index) may becomprised of one or more dimensions (e.g. a first dimension 4090, asecond dimension 4091, etc.), according to some embodiments. One or moredimensions (e.g. a first dimension 4090, a second dimension 4091, etc.)may be associated with a trait or combination of traits. One or moredimensions (e.g. a first dimension 4090, a second dimension 4091, etc.)may comprise one or more candidate IDs (e.g., a first candidate ID 4034,a second candidate ID 4093, etc.) and/or, according to some embodiments,a rate tag (e.g., a first rate tag 4040, a second rate tag 4094, etc.).Each of a candidate ID (e.g., a first candidate ID 4034, a secondcandidate ID 4093, etc.) and a rate tag (e.g., a first rate tag 4040, asecond rate tag 4094, etc.) may be based, at least in part, oninformation received from a computing device such as a first computingdevice and/or a second computing device. In some embodiments, a rate tag(e.g., a first rate tag 4040, a second rate tag 4094, etc.) may be basedon a rate.

One or more servers 1022 may receive a query 1044 which may originate atone or more second computing devices 1024. In some embodiments, a query1044 may be received at a query engine 1028 comprised in the one or moreservers 1022. A query 1024 may comprise a request for information. Forexample, in some embodiments, a query 1024 may comprise a request forone or more targeted communications 1036. A query 1024 may comprise orbe associated with one or more desired traits (e.g., first desiredcandidate trait, second desired candidate trait) of available recipientsof a targeted communication, which may be associated with one or moredimensions. For example, a query 1024 may request targetedcommunications directed to women, aged 40-50, in Longmont, Colorado(e.g., ‘Sex=Female’ Age=40-50 years,' and ‘GeographicalLocation=Longmont, Colorado’).

In response to a query 1024, one or more servers 1022 of the system 2000may generate a bit set 1046 comprising suitable candidates byintersecting dimensions. In some embodiments, a bit set 1046 may begenerated by a query engine 1028 comprised in the one or more servers1022. A bit set 1046 may be generated by intersecting one or moredimensions. Continuing with the above example, in response to a query1024 requesting targeted communications directed to women, aged 40-50,in Longmont, Colorado (e.g., ‘Sex=Female’ ‘Age=40-50 years,’ and‘Geographical Location=Longmont, Colorado’), one or more servers 1022(or a query engine 1028 comprised in the one or more servers 1022) mayquery the index 1042 for dimensions associated with the traits‘Sex=Female’ ‘Age=40-50 years,’ and ‘Geographical Location=Longmont,Colorado.’ Intersecting the dimensions provides for rapid identificationof all (or a plurality of) candidates which are associated with all (ora plurality of) queried traits. In the above example, the candidateassociated with the candidate identifier ‘abc123’ would be a suitablecandidate and would be comprised in the bit set 1046. In someembodiments, targeted communications 1036 may be generated based on thebit set 1046. For example, targeted communications 1036 may be generatedfor all (or a plurality of) candidates in the bit set 1046 afterintersection of the dimensions.

In some embodiments, one or more servers may determine or generate, inresponse to a query 1024, an ordered set (e.g., first ordered set,second ordered set, etc.) which may include an indicator (e.g., firstindicator, second indicator, etc.) which may indicate whether or not acandidate or candidate targeted communication includes a desiredcandidate trait. An indicator's position in an ordered set may,according to some embodiments, correspond to a candidate's position(e.g., a position associated with a candidate identifier) in an index1042. One or more servers may determine or generate a bit set 1046(e.g., a result set) based on performing a computation. In someembodiments, a computation may include an intersecting computation. Acomputation may be performed on one or more ordered sets (e.g., firstordered set, second ordered set, etc.). In some embodiments, a bit set1043 (e.g., result set) may include an indicator associated with acandidate or a candidate targeted communication.

One or more suitable candidates comprised in a bit set 1046 (e.g., aresult set) may be removed by one or more servers (or a query engine1028 comprised in the one or more servers 1022) based on thecorresponding rate 1032 and/or rate tag 1040. In some embodiments, a bitset 1046 may comprise many suitable candidates. Removal of some (e.g.,one or more) suitable candidates from a bit set 1046 may lessen strainon computing resources by prioritizing candidates with high rates 1032(and the rate tags 1040 associated with a high rate 1032) over thosewith a lower rate 1032. As noted above, a rate tag 1040 may compriseboth a level and a slot number and, in some embodiments, removal ofsuitable candidates may be achieved using slot numbers comprised in therate tags 1040. For example, if: (1) the candidate identifier abc123′has a rate tag 1032 comprising a level=high and a slot number=4, and (2)candidates with level=high and slot numbers=0, 3, 6, and 9 are removedbased on the rate tag 1040, then (3) the candidate identifier ‘abc123’would not be removed. However, using the same example, if candidateswith level=high and slot numbers=0, 4, 8, and 12 are removed based onthe rate tag 1040, then the candidate identifier abc123′ would beremoved from the bit set 1046.

One or more servers may generate targeted communications based on (1)the candidates remaining in the bit set 1046 after removal of one ormore suitable candidates, (2) for each of the removed suitablecandidates, and/or (3) all, or a part of, the suitable candidatescomprised in the bit set 1046.

As illustrated in FIG. 3, a server 3050 may include, among otherelements, any combination of a processor 3060, a memory 3080, aninput/output (I/O) 3010, and a communication center 3015. As describedin present embodiments, each of the processor 3060, the memory 3080, theI/O 3010, and communication center 3015 may include a plurality ofrespective units, subunits, and/or elements. Furthermore, each of theprocessor 3060, the memory 3080, the I/O 3010, and the communicationcenter 3015 may be operatively or otherwise communicatively coupled witheach other so as to facilitate the methods and techniques describedherein.

The processor 3060 may control any one or more of the memory 3080, theI/O 3010, the communication center 3015, or any other unit which mayinclude the server 3050, as well as any included subunits, elements,components, devices, or functions performed by each or a combination ofthe memory 3080, the I/O 3010, the communication center 3015 or anyother unit which may include the server 3050. Any of the elements orsub-elements of the server 3050 presented here may also be included in asimilar fashion in any of the other units, subunits, and devicesincluded in the system 2000 of FIG. 2. Additionally, any actionsdescribed herein as being performed by a processor 3060 may be taken bythe processor 3060 alone, or by the processor 3060 in conjunction withone or more additional processors, units, subunits, elements,components, devices, and the like. Additionally, while only oneprocessor 3060 may be shown in the figures included here, multipleprocessors may be present or otherwise included in the server 3050 orelsewhere in the system of FIG. 2. Thus, while instructions may bedescribed as being executed by the processor 3060 or the varioussubunits of the processor 3061, 3062, 3063, 3064, 3065, the instructionsmay be executed simultaneously, serially, or otherwise by one or moremultiple processors 3060.

In some embodiments, a processor 3060 may be implemented as one or morecomputer processor (CPU) chips, graphical processor (GPU) chips, or somecombination of CPU chips and GPU chips, and may include a hardwaredevice capable of executing computer instructions. The processor 3060may execute any combination of instructions, codes, computer programs,and scripts. The instructions, codes, computer programs, and scripts maybe received from, stored in, or received from and stored in anycombination of the memory 3080, the I/O 3010, the communication center3015, subunits of the previously described elements, other devices,other computing environments. In some embodiments, non-transitorycomputer-readable medium comprising code may be provided to perform oneor more of the various processes, methods, functions, etc. describedherein.

In some embodiments, the processor 3060 may include, among otherelements, subunits. Subunits may include any combination of a profilemanager 3061, a content manager 3062, a geolocation finder 3063, agraphical processor 3064, and a resource allocator 3065. Each of thesesubunits of the processor 3060 may be communicatively or otherwiseoperably coupled with each other.

The profile manager 3061 may facilitate any combination of generation,modification, analysis, transmission, and presentation of a user profileassociated with a user, e.g. first user, second user, etc. For example,the profile manager 3061 may prompt a user, through a first user deviceor a second user device, to register by inputting authenticationcredentials, personal identifying information, contact information,preferred buying habits, location, or any other information which may beassociated with generating a personal profile for the user. The profilemanager 3061 may also control or utilize an element of the I/O 3010 toenable a user to take a picture or video of themselves or anotherperson. The profile manager 3061 may receive, process, analyze,organize, transform, or any combination of these, any received from theuser or another computing element as to generate a user profile of auser that may include any combination of personal information, contactinformation, user preferences, photos, videos, audio clips, a history ofuser activity, user preferences, user search history, user location,settings, and the like.

The content manager 3062 may facilitate any combination of generation,modification, analysis, transmission, and presentation of media contentassociated with methods and systems for network communicationdisintermediation. For example, the content manager 3062 may control theenvironment of the application during the execution of variousprocesses. For purposes of illustration and not limitation, mediacontent for which the content manager 3062 may be responsible mayinclude any combination of advertisements, images, text, themes, audiofiles, video files, documents, and the like. In some embodiments, thecontent manager 3062 may also interface with any combination of athird-party content server, memory location, and/or a database.

The geolocation finder 3063, particularly in communication withgeolocation information, e.g., provided by GPS subsystems of userdevices, may facilitate any combination of detection, generation,modification, analysis, transmission, and presentation of locationinformation. Location information may include any combination of globalpositioning system (GPS) coordinates, an internet protocol (IP) address,a media access control (MAC) address, geolocation information, anaddress, a port number, a zip code, a server number, a proxy name, aproxy number, device information, serial numbers, and the like. In someembodiments, the geolocation finder 3063 may include any one or acombination of various sensors, specifically-purposed hardware elementsfor enabling the geolocation finder 3063 to acquire, measure, andtransform location information.

The graphical processor (GPU) 3064 may facilitate any combination ofgeneration, modification, analysis, processing, transmission, andpresentation of visual content. The GPU 3064 may be configured to rendervisual content for presentation on a user device and/or to analyzevisual content for metadata associated with a user or a user device. Insome embodiments, this visual content may include the display of searchresult and/or activatable communication channels. The GPU 3064 mayinclude multiple GPUs and may therefore be configured to perform and/orexecute multiple processes in parallel.

The resource allocator 3065 may facilitate any one or combination of thedetermination, monitoring, analysis, and allocation of resourcesthroughout the server 3050, the system 2000, any component of the system2000, or other computing environments. For example, the resourceallocator 3065 may facilitate interaction between the server 3050, anysubunit of the server 3050, and a high volume (e.g. multiple) of usersor associated user devices. As such, computing resources of the server3050 utilized by any one or a combination of the processor 3061, thememory 3080, the I/O 3010, the communication center 3015, and anysubunit of these units, such as processing power, data storage space,network bandwidth, and the like may be in high demand at various timesduring operation. Accordingly, the resource allocator 3065 may beconfigured to manage the allocation of various computing resources asthey are required by particular units or particular subunits of theserver 3050.

In some embodiments, the resource allocator 3065 may include sensorsand/or other specially-purposed hardware for monitoring performance ofeach unit and/or subunit of the server 3050, as well as hardware forresponding to the computing resource needs of each unit or subunit. Insome embodiments, the resource allocator 3065 may utilize computingresources of a second computing environment separate and distinct fromthe server 3050 to facilitate a desired operation.

In some embodiments, factors affecting the allocation of computingresources by the resource allocator 3065 may include the number ofongoing user device connections and/or other communication channelconnections, a duration during which computing resources are required byone or more elements of the server 3050, and/or the like. In someembodiments, computing resources may be allocated to and/or distributedamongst a plurality of second computing environments included in theserver 3050 based on one or more factors mentioned above. In someembodiments, the allocation of computing resources of the resourceallocator 3065 may include one or more resource allocators 3065 flippinga switch, adjusting processing power, adjusting memory size,partitioning a memory element, transmitting data, controlling one ormore input and/or output devices, modifying various communicationprotocols, and the like. In some embodiments, the resource allocator3065 may facilitate utilization of parallel processing techniques suchas dedicating a plurality of GPUs included in the processor 3060.

In some embodiments, the memory 3080 may be utilized for one or anycombination of storing, recalling, receiving, transmitting, and/oraccessing various files and/or information during operation of theserver 3050. The memory 3080 may additionally be used for storing,recalling, and/or updating user profile information and the like. Thememory 3080 may include various types of data storage media such assolid state storage media, hard disk storage media, and any other typeof data storage medium which may be known to a person of ordinary skillin the art. The memory 3080 may include dedicated hardware elements suchas hard drives and/or servers, as well as software elements such ascloud-based storage drives. For example, the memory 3080 may includevarious subunits such as an operating system unit 3081, an applicationdata unit 3082, an application programming interface (API) unit 3083, aprofile storage unit 3084, a content storage unit 3085, a video storageunit 3086, a secure enclave 3087, and/or a cache storage unit 3088.

The memory 3080 and any of its subunits described here may include anyone or any combination of random access memory (RAM), read only memory(ROM), and various forms of secondary storage. RAM may be used to storevolatile data and/or to store instructions that may be executed by theprocessor 3060. For example, the data stored may be any one or acombination of a command, a current operating state of the server 3050,an intended operating state of the server 3050, and the like. As afurther example, data stored in the memory 3080 may include instructionsrelated to various methods and/or functionalities described here. ROMmay be a non-volatile memory device that may have a smaller memorycapacity than the memory capacity of a secondary storage. ROM may beused to store instructions and/or data that may be read during executionof computer instructions. In some embodiments, access to both RAM andROM may be faster than access to secondary storage. Secondary storagemay include one or more disk drives and/or tape drives and may be usedfor non-volatile storage of data or as an over-flow data storage deviceif RAM is not large enough to hold all working data. Secondary storagemay be used to store programs that may be loaded into RAM when suchprograms are selected for execution. In some embodiments, the memory3080 may include one or more databases for storing any data describedhere. Additionally or alternatively, one or more secondary databaseslocated remotely from the server 3050 may be utilized and/or accessed bythe memory 3080.

The operating system unit 3081 may facilitate deployment, storage,access, execution, and/or utilization of an operating system utilized bythe server 3050 and/or any other computing environment described herein.In some embodiments, the operating system may include various hardwareand/or software elements that serve as a structural framework forenabling the processor 3060 to execute various operations. The operatingsystem unit 3081 may further store various pieces of information and/ordata associated with operation of the operating system and/or the server3050 as a whole, such as a status of computing resources (e.g.,processing power, memory availability, resource utilization, and/or thelike), runtime information, modules to direct execution of operationsdescribed herein, user permissions, security credentials, and the like.

The application data unit 3082 may facilitate deployment, storage,access, execution, and/or utilization of an application utilized by theserver 3050 or any other computing environment described herein (e.g., auser device). For example, users may be required to download, access,and/or otherwise utilize a software application on a user device such asa smartphone or other internet-enabled device in order for variousoperations described herein to be performed. As such, the applicationdata unit 3082 may store any information and/or data associated with theapplication which may allow the application and/or user device toperform methods associated with network communication disintermediation.As such, information included in the application data unit 3082 mayenable a user to execute various operations described here. Theapplication data unit 3082 may further store various pieces ofinformation and/or data associated with operation of the applicationand/or the server 3050 as a whole, such as a status of computingresources (e.g., processing power, memory availability, resourceutilization, and/or the like), runtime information, modules to directexecution of operations described herein, user permissions, securitycredentials, and the like.

The application programming interface (API) unit 3083 may facilitatedeployment, storage, access, execution, and/or utilization ofinformation associated with APIs of the server 3050 and/or any othercomputing environment described herein (e.g., a user device). Forexample, server 3050 may include one or more APIs for enabling variousdevices, applications, and/or computing environments to communicate withthe server 3050, multiple other servers, databases, or other userdevices. Accordingly, the API unit 3083 may include API databasescontaining information that may be accessed and/or utilized byapplications and/or operating systems of other devices and/or computingenvironments associated with network communication disintermediation. AnAPI may direct communications between the background component of theuser device and the server 3050. In some embodiments, each API databasemay be associated with a customized physical circuit included in thememory unit 3080 and/or the API unit 3083. Additionally, each APIdatabase may be public and/or private, and so authentication credentialsmay be required to access information in an API database.

The profile storage unit 3084 may facilitate deployment, storage,access, and/or utilization of information associated with user profilesof users by the server 3050 and any other computing environmentdescribed here (e.g., a user device). For example, the profile storageunit 3050 may store one or more of a user's contact information,authentication credentials, user preferences, user history of behavior,personal information, search histories, purchasing histories, userratings, and metadata. The profile storage unit 3084 may store a user'simages, searching histories, a user's location history as determinedthrough the GPS subsystems of the user device, etc. In some embodiments,the profile storage unit 3084 may communicate with the profilemanagement unit 3061 to receive and/or transmit information associatedwith a user's profile.

The content storage unit 3085 may facilitate deployment, storage,access, and/or utilization of information associated with requestedcontent by the server 3050 and/or any other computing environmentdescribed here (e.g., a user device such as a mobile device). Forexample, the content storage unit 3085 may store one or more of images,text, videos, audio content, advertisements, product lists, userrecommendations, and metadata to be presented to a user duringoperations described herein. In some embodiments, the content storageunit 3085 may communicate with the content management unit 3062 toreceive and/or transmit content files.

The media storage unit 3086 may facilitate one or more of deployment,storage, access, analysis, and utilization of media content by theserver 3050 and any other computing environment described herein (e.g.,a user device). Media content may be images, videos, audio files, andany other form of communicative media. For example, the media storageunit 3086 may store one or more chat histories between a user and otherusers on the system 2000. Further, the media storage unit 3086 may storeone or more searches, results, alerts, etc., generated by any unit orsubunit of a server 3050 or user device. Media content generated or usedin performing any of the methods disclosed here may be stored in themedia storage unit 3086 so that the media content may be analyzed byvarious components of the server 3050 both in real time and at a timeafter receipt of the media content. In some embodiments, the mediastorage unit 3086 may communicate with the GPUs 3064 to facilitate anyof the processes described here. In some embodiments, media content mayinclude audio, images, text, video feeds, and/or any other media contentassociated with methods and systems for network communicationdisintermediation.

The secure enclave 3087 may facilitate secure storage of data. In someembodiments, the secure enclave 3087 may include a partitioned portionof storage media included in the memory unit 3080 that is protected byvarious security measures. For example, the secure enclave 3087 may behardware secured. In other embodiments, the secure enclave 3087 mayinclude one or more firewalls, encryption mechanisms, and/or othersecurity-based protocols. Authentication credentials of a user may berequired prior to providing the user access to data stored within thesecure enclave 3087. In some embodiments, the secure enclave 3087 maystore sensitive user information such as credit card data, sensitivepersonal data, and/or data associated with the location of a personthroughout time.

The cache storage unit 3088 may facilitate short-term deployment,storage, access, analysis, and/or utilization of data. In someembodiments, the cache storage unit 3088 may serve as a short-termstorage location for data so that the data stored in the cache storageunit 3088 may be accessed quickly. In some embodiments, the cachestorage unit 3088 may include RAM and/or other storage media types thatenable quick recall of stored data. The cache storage unit 3088 mayinclude a partitioned portion of storage media included in the memory3080.

The I/O unit 3010 may include hardware and/or software elements forenabling the server 3050 to receive, transmit, and/or presentinformation. For example, elements of the I/O unit 3050 may be used toreceive user input from a user via a user device, present results,alerts, or compilation responses to the user via the user device,present suggested matches to the user via a user device, and the like.In this manner, the I/O unit 3010 may enable the server 3050 tointerface with a human user in a manner such that the user may use themethods described here. As described, the I/O unit 3010 may includesubunits such as one of, or a combination of, an I/O device 3011, an I/Ocalibration unit 3012, and/or media driver 3013.

The I/O device 3010 may facilitate any one or any combination of thereceipt, transmission, processing, presentation, display, input, andoutput of information as a result of executed processes described here.In some embodiments, the I/O device 3010 may include a plurality of I/Odevices. In some embodiments, the I/O device 3010 may include one ormore elements of any one or a combination of a user device, a computingsystem, a server 3050, and a similar device.

The I/O device 3011 may include a variety of elements that enable a userto interface with the server 3050. For example, the I/O device 3011 mayinclude a keyboard, a touchscreen, a button, a sensor, a biometricscanner, a laser, a microphone, a camera, an internet-enabled device,and/or another element for receiving and/or collecting input from auser. Additionally and/or alternatively, the I/O device 3011 may includea display, a screen, a sensor, a vibration mechanism, a light emittingdiode (LED), a speaker, a radio frequency identification (RFID) scanner,and/or another element for presenting and/or otherwise outputting datato a user. In some embodiments, the I/O device 3011 may communicate withone or more elements of the processor 3060 and/or the memory unit 3080to execute operations described herein. For example, the I/O device 3011may include a display, which may utilize the GPU 3064 to present mediacontent stored in the media storage unit 3086 to a user of a userdevice.

The I/O calibration unit 3012 may facilitate the calibration of the I/Odevice 3011. For example, the I/O calibration unit 3012 may detectand/or determine one or more settings of the I/O device 3011, and thenadjust and/or modify settings so that the I/O device 3011 may operatemore efficiently. In some embodiments, the I/O calibration unit 3012 mayutilize a media driver 3013 (or multiple media drivers) to calibrate theI/O device 3011. The media driver 3013 may be installed on a user deviceso that the user device may recognize and/or integrate with the I/Odevice 30114, thereby enabling media content to be displayed, received,generated, and the like. In some embodiments, the I/O device 3011 may becalibrated by the I/O calibration unit 3012 by based on informationincluded in the media driver 3013.

The communication center 3015 may facilitate establishment, maintenance,monitoring, and/or termination of communications between the server 3050and other devices such as user devices, other computing environments,third party server systems, and the like. The communication center 3015may further enable communication between various elements (e.g., unitsand/or subunits) of the server 3050 as needed. In some embodiments, thecommunication center 3015 may include a network protocol unit 3016, anAPI gateway 3017, an encryption engine 3018, and/or a communicationdevice 3019. The communication center 3015 may include hardware and/orsoftware elements.

The network protocol unit 3016 may facilitate establishment,maintenance, and/or termination of a communication connection betweenthe server 3050 and another device (e.g. user device) by way of anetwork. For example, the network protocol unit 3016 may detect and/ordefine a communication protocol required by a particular network and/ornetwork type. Communication protocols utilized by the network protocolunit 348 may include Wi-Fi protocols, Li-Fi protocols, cellular datanetwork protocols, Bluetooth® protocols, WiMAX protocols, Ethernetprotocols, power line communication (PLC) protocols, and the like. Insome embodiments, facilitation of communication between the server 3050and any other device, as well as any element internal to the server3050, may include transforming and/or translating data from beingcompatible with a first communication protocol to being compatible witha second communication protocol. In some embodiments, the networkprotocol unit 3016 may determine and/or monitor an amount of datatraffic to consequently determine which particular network protocol isto be used for establishing a connection with a user device,transmitting data, and/or performing other operations described herein.

The API gateway 3017 may facilitate the enablement of other devicesand/or computing environments to access the API unit 3083 of the memory3080 of the server 3050. For example, a user device may access the APIunit 3083 via the API gateway 3017. In some embodiments, the API gateway3017 may be required to validate user credentials associated with a userof a user device prior to providing access to the API unit 3083 to theuser. The API gateway 3017 may include instructions for enabling theserver 3050 to communicate with another device.

The encryption engine 3018 may facilitate any one or any combination oftranslation, encryption, encoding, decryption, and decoding ofinformation received, transmitted, and/or stored by the server 3050. Forexample, the encryption engine 3018 may encrypt data associated with auser's credit card information, etc. Using the encryption engine, eachtransmission of data may be encrypted, encoded, and/or translated forsecurity reasons, and any received data may be encrypted, encoded,and/or translated prior to its processing and/or storage. In someembodiments, the encryption engine 3018 may generate any one orcombination of an encryption key, an encoding key, a translation key,and the like, which may be transmitted along with any data content.

The communication device 3019 may include a variety of hardware and/orsoftware specifically purposed to enable communication between theserver 3050 and another device (e.g. user device), as well ascommunication between elements of the server 3050. In some embodiments,the communication device 3019 may include one or more radiotransceivers, chips, analog front end (AFE) units, antennas, processors,memory, other logic, and/or other components to implement communicationprotocols (wired or wireless) and related functionality for facilitatingcommunication between the server 3050 and any other device. Additionallyand/or alternatively, the communication device 3019 may include a modem,a modem bank, an Ethernet device such as a router or switch, a universalserial bus (USB) interface device, a serial interface, a token ringdevice, a fiber distributed data interface (FDDI) device, a wirelesslocal area network (WLAN) device and/or device component, a radiotransceiver device such as code division multiple access (CDMA) device,a global system for mobile communications (GSM) radio transceiverdevice, a universal mobile telecommunications system (UMTS) radiotransceiver device, a long term evolution (LTE) radio transceiverdevice, a worldwide interoperability for microwave access (WiMAX)device, and/or another device used for communication purposes.

Any transmission, reception, connection, or communication may occurusing any short-range (e.g., Bluetooth, Bluetooth Low Energy, near fieldcommunication, Wi-Fi Direct, etc.) or long-range communication mechanism(e.g., Wi-Fi, cellular, etc.). Additionally or alternatively, anytransmission, reception, connection, or communication may occur usingwired technologies. Any transmission, reception, or communication mayoccur directly between systems or indirectly via one or more systemssuch as servers.

The present disclosure provides several important technical advantagesthat will be readily apparent to one skilled in the art from thefigures, descriptions, and claims. Moreover, while specific advantageshave been enumerated above, various embodiments may include all, some,or none of the enumerated advantages. Any sentence or statement in thisdisclosure may be associated with one or more embodiments.

While various embodiments in accordance with the disclosed principleshave been described above, it should be understood that they have beenpresented by way of example only, and are not limiting. Furthermore, anyreference in this disclosure to “invention” in the singular should notbe used to argue that there is only a single point of novelty in thisdisclosure. Multiple inventions may be set forth herein.

What is claimed is:
 1. A method for eliminating or selecting candidatetargeted communications, comprising: determining or receiving, using oneor more computing device processors, a first candidate identifier, afirst rate of targeted communication transmission, and at least onetrait associated with a targeted communication recipient, associatedwith a first candidate targeted communication; determining or receiving,using the one or more computing device processors, a second candidateidentifier, a second rate of targeted communication transmission, and atleast one trait associated with a targeted communication recipient,associated with a second candidate targeted communication; determiningor receiving, using the one or more computing device processors, a thirdcandidate identifier, a third rate of targeted communicationtransmission, and at least one trait associated with a targetedcommunication recipient, associated with a third candidate targetedcommunication; generating or accessing, using the one or more computingdevice processors, a candidate index comprising: a first dimension,comprising a first dimension trait associated with the first candidatetargeted communication, a first dimension trait associated with thesecond candidate targeted communication, and a first dimension traitassociated with the third candidate targeted communication; and a seconddimension comprising a second dimension trait associated with the firstcandidate targeted communication and a second dimension trait associatedwith the third candidate targeted communication, wherein the secondcandidate targeted communication does not comprise a second dimensiontrait associated with the second candidate targeted communication;determining or generating, using the one or more computing deviceprocessors, a first set comprising a first indicator indicating whetherthe first candidate targeted communication comprises a first desiredcandidate trait, a second indicator indicating whether the secondcandidate targeted communication comprises the first desired candidatetrait, and a third indicator indicating whether the third candidatetargeted communication comprises the first desired candidate trait,wherein a position of the first indicator in the first set correspondsto a position of the first candidate targeted communication in thecandidate index, wherein a position of the second indicator in the firstset corresponds to a position of the second candidate targetedcommunication in the candidate index, and wherein a position of thethird indicator in the first set corresponds to a position of the thirdcandidate targeted communication in the candidate index; determining orgenerating, using the one or more computing device processors, a secondset comprising a fourth indicator indicating whether the first candidatetargeted communication comprises a second desired candidate trait, afifth indicator indicating whether the second candidate targetedcommunication comprises the second desired candidate trait, and a sixthindicator indicating whether the third candidate targeted communicationcomprises the second desired candidate trait; determining or generating,using the one or more computing device processors, based on performing acomputation based on the first set and the second set, a result setcomprising a seventh indicator associated with the first candidatetargeted communication and an eighth indicator associated with the thirdcandidate targeted communication; and eliminating, using the one or morecomputing device processors, the first candidate targeted communicationfrom the result set based on the first rate of targeted communicationtransmission, or selecting, using the one or more computing deviceprocessors, the third candidate targeted communication from the resultset based on the third rate of targeted communication transmission. 2.The method of claim 1, wherein a position of the fourth indicator in thesecond set corresponds to the position of the first candidate targetedcommunication in the candidate index, wherein a position of the fifthindicator in the second set corresponds to the position of the secondcandidate targeted communication in the candidate index, and wherein aposition of the sixth indicator in the second set corresponds to theposition of the third candidate targeted communication in the candidateindex.
 3. The method of claim 1, further comprising transmitting, usingthe one or more computing device processors, the third candidatetargeted communication to a user device for display on the user device.4. The method of claim 1, wherein in response to determining the secondcandidate targeted communication does not comprise the second dimensiontrait, the second candidate targeted communication is included in analways-matching set for the second dimension such that one or morecandidate targeted communications from the always-matching set arealways included in the second set.
 5. The method of claim 1, wherein inresponse to determining the second candidate targeted communication doesnot comprise the second dimension trait, the fifth indicator indicatesthe second candidate targeted communication comprises multiple seconddimension traits.
 6. The method of claim 1, wherein the first setcomprises non-binary indicators.
 7. The method of claim 1, wherein thecandidate index comprises a candidate array.
 8. The method of claim 1,wherein the first set comprises binary indicators.
 9. A method foreliminating or selecting candidate targeted communications, comprising:determining or receiving, using one or more computing device processors,a first candidate identifier and at least one trait associated with atargeted communication recipient, associated with a first candidatetargeted communication; determining or receiving, using the one or morecomputing device processors, a second candidate identifier and at leastone trait associated with a targeted communication recipient, associatedwith a second candidate targeted communication; determining orreceiving, using the one or more computing device processors, a thirdcandidate identifier and at least one trait associated with a targetedcommunication recipient, associated with a third candidate targetedcommunication; generating or accessing, using the one or more computingdevice processors, a candidate index comprising: a first dimension,comprising a first dimension trait associated with the first candidatetargeted communication, a first dimension trait associated with thesecond candidate targeted communication, and a first dimension traitassociated with the third candidate targeted communication; and a seconddimension comprising a second dimension trait associated with the firstcandidate targeted communication and a second dimension trait associatedwith the third candidate targeted communication, wherein the secondcandidate targeted communication does not comprise a second dimensiontrait associated with the second candidate targeted communication;determining or generating, using the one or more computing deviceprocessors, a first set comprising a first indicator indicating whetherthe first candidate targeted communication comprises a first desiredcandidate trait, a second indicator indicating whether the secondcandidate targeted communication comprises the first desired candidatetrait, and a third indicator indicating whether the third candidatetargeted communication comprises the first desired candidate trait,wherein a position of the first indicator in the first set correspondsto a position of the first candidate targeted communication in thecandidate index, wherein a position of the second indicator in the firstset corresponds to a position of the second candidate targetedcommunication in the candidate index, and wherein a position of thethird indicator in the first set corresponds to a position of the thirdcandidate targeted communication in the candidate index; determining orgenerating, using the one or more computing device processors, a secondset comprising a fourth indicator indicating whether the first candidatetargeted communication comprises a second desired candidate trait, afifth indicator indicating whether the second candidate targetedcommunication comprises the second desired candidate trait, and a sixthindicator indicating whether the third candidate targeted communicationcomprises the second desired candidate trait; determining or generating,using the one or more computing device processors, based on performing acomputation based on the first set and the second set, a result setcomprising a seventh indicator associated with the first candidatetargeted communication and an eighth indicator associated with the thirdcandidate targeted communication; and eliminating or selecting, usingthe one or more computing device processors, the third candidatetargeted communication from the result set.
 10. The method of claim 9,wherein a position of the fourth indicator in the second set correspondsto the position of the first candidate targeted communication in thecandidate index, wherein a position of the fifth indicator in the secondset corresponds to the position of the second candidate targetedcommunication in the candidate index, and wherein a position of thesixth indicator in the second set corresponds to the position of thethird candidate targeted communication in the candidate index.
 11. Themethod of claim 9, further comprising transmitting, using the one ormore computing device processors, the third candidate targetedcommunication to a user device for display on the user device.
 12. Themethod of claim 9, wherein in response to determining the secondcandidate targeted communication does not comprise the second dimensiontrait, the second candidate targeted communication is included in analways-matching set for the second dimension such that one or morecandidate targeted communications from the always-matching set arealways included in the second set.
 13. The method of claim 9, wherein inresponse to determining the second candidate targeted communication doesnot comprise the second dimension trait, the fifth indicator indicatesthe second candidate targeted communication comprises multiple seconddimension traits.
 14. The method of claim 9, wherein the first dimensionfurther comprises the first candidate identifier.
 15. The method ofclaim 9, wherein the first set comprises non-binary indicators or binaryindicators.
 16. The method of claim 9, further comprising determining orreceiving, using the one or more computing device processors, a firstrate of targeted communication transmission associated with the firstcandidate identifier.
 17. The method of claim 16, further comprisinggenerating, using the one or more computing device processors, a firstrate tag based on the first rate of targeted communication transmissionassociated with the first candidate identifier.
 18. The method of claim17, further comprising eliminating or selecting, using the one or morecomputing device processors, the first candidate targeted communicationfrom the result set based on the first rate tag.
 19. A system foreliminating or selecting candidate targeted communications, the systemcomprising: a memory comprising instructions; and a processing deviceconfigured for executing the instructions, wherein the instructionscause the processing device to perform operations of: determining orreceiving a first candidate identifier, and at least one traitassociated with a targeted communication recipient, associated with afirst candidate targeted communication; determining or receiving asecond candidate identifier, and at least one trait associated with atargeted communication recipient, associated with a second candidatetargeted communication; determining or receiving a third candidateidentifier, and at least one trait associated with a targetedcommunication recipient, associated with a third candidate targetedcommunication; generating or accessing a candidate index comprising: afirst dimension, comprising a first dimension trait associated with thefirst candidate targeted communication, a first dimension traitassociated with the second candidate targeted communication, and a firstdimension trait associated with the third candidate targetedcommunication; and a second dimension, comprising a second dimensiontrait associated with the first candidate targeted communication, and asecond dimension trait associated with the third candidate targetedcommunication, wherein the second candidate targeted communication doesnot comprise a second dimension trait associated with the secondcandidate targeted communication; determining or generating a first setcomprising a first indicator indicating whether the first candidatetargeted communication comprises a first desired candidate trait, asecond indicator indicating whether the second candidate targetedcommunication comprises the first desired candidate trait, and a thirdindicator indicating whether the third candidate targeted communicationcomprises the first desired candidate trait; determining or generating asecond set comprising a fourth indicator indicating whether the firstcandidate targeted communication comprises a second desired candidatetrait, a fifth indicator indicating whether the second candidatetargeted communication comprises the second desired candidate trait, anda sixth indicator indicating whether the third candidate targetedcommunication comprises the second desired candidate trait; determiningor generating, based on performing a computation based on the first setand the second set, a result set comprising a seventh indicatorassociated with the first candidate targeted communication and an eighthindicator associated with the third candidate targeted communication;and eliminating or selecting the first candidate targeted communicationor the third candidate targeted communication from the result set. 20.The method of claim 1, wherein the first set, the second set, or theresult set comprises a ninth indicator indicating an always-matchingcandidate targeted communication comprises or is associated with thefirst desired candidate trait or the second desired candidate trait.